// pages/shops/shop/shop_details.js
import { filterImg } from '../../../utils/util.js'

const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    shopId: null,
    shareBox: false,
    posterBox: false,
    poster: null,
    // loading: true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad({id}) {
    this.setData({ shopId: id })
    app.shop.getShopDetail(id).then(data=>{
      data.goods.content = data.goods.content ? filterImg(data.goods.content) : data.goods.content
      wx.setNavigationBarTitle({
        title: data.goods.name,
      })
      this.setData({ ...data })
    })
  },

  onHome(){ // 返回首页
    wx.switchTab({
      url: '/pages/tabpage/index',
    })
  },

  doCall(){
    wx.makePhoneCall({
      phoneNumber: this.data.account.service_number,
    })
  },

  onClickButton(e) { // 确定订单详情页
    let shopId = this.data.shopId
    if(!shopId) {
      app.toast('商品参数错误')
      return
    }
    app.shop.getOrderID(shopId)
      .then(data=>{
        wx.navigateTo({
          url: `/pages/shops/order/orde_details?id=${data.id}`
        })
      })
      .catch((err)=>{
        app.toast(err)
      })
  },

  onClickIcon(e){
    console.log(e)
  },

  shareClick(e) { // 分享事件
    if (!this.data.poster) {
      app.shop.getPoster(this.data.goods.id).then(({ url }) => {
        this.setData({
          poster: url
        })
      })
    }
    this.setData({
      shareBox: true
    })
  },

  openPoster(e) { // 生成海报
    wx.showLoading({
      title: '海报加载中...',
    })
    wx.hideLoading();
    this.setData({
      shareBox: false,
      posterBox: true
    })
  },

  save(e) {
    wx.showLoading({
      title: '保存中',
    });
    wx.downloadFile({
      url: this.data.poster, //仅为示例，并非真实的资源
      success: (res)=> {
        wx.saveImageToPhotosAlbum({
          filePath: res.tempFilePath,
          success: (res) => {
            wx.showToast({
              title: '保存成功',
              icon: 'success'
            })
          }
        })
      },
      fail:()=>{
        wx.showToast({
          title: '保存失败',
          icon: 'none'
        })
      },
      complete:()=>{
        wx.hideLoading()
        setTimeout(()=>{
          this.setData({
            posterBox: false
          })
        },1000)
      }
    })
  },

  onShareBoxClose() { // 关闭分享弹窗
    this.setData({
      shareBox: false
    })
  },

  onPosterBoxClose() { // 关闭海报弹窗
    this.setData({
      posterBox: false
    })
  },

  onTips() {
    wx.navigateTo({
      url: './tips',
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    this.setData({
      shareBox: false
    })
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    let { share_title, thumb } = this.data.goods
    return {
      title: share_title,
      imageUrl: thumb
    }
  }
})